﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using BusinessLayer.Clases_BO;
using EntityLayer;
using BusinessLayer.Clases_Seguridad_BO;
namespace pryTransfinter.Transaciones
{
    public partial class wfmRegistroCliente : System.Web.UI.Page
    {
        clsTB_ClienteBO negcliente;
        clsUsuarioBL negusuario;
        protected void Page_Load(object sender, EventArgs e)
        {

        }

        protected void txtdni_TextChanged(object sender, EventArgs e)
        {
            txtuserreg.Text = txtdni.Text;
        }

        protected void btnreg_Click(object sender, EventArgs e)
        {
            grabar();
        }

        public void grabar() {

        negcliente=new clsTB_ClienteBO();
        negusuario = new clsUsuarioBL();

        List<TB_Cliente> lista = new List<TB_Cliente>();
        lista = negcliente.listarClienteDni(txtdni .Text .Trim ());

        if (lista.Count>0)
        {
              lblmensaje.Text = "DNI ya existente";
              ScriptManager.RegisterStartupScript(this, typeof(Page), "scriptkey", "PcMensaje.Show();", true);
              return;
          }

        if (txtnomcli.Text.Trim () =="")
        {
            lblmensaje.Text = "Ingrese nombre del cliente";
            ScriptManager.RegisterStartupScript(this, typeof(Page), "scriptkey", "PcMensaje.Show();", true);
            return;
        }
        if (txtdireccion.Text.Trim() == "")
        {
            lblmensaje.Text = "Ingrese direccion del cliente";
            ScriptManager.RegisterStartupScript(this, typeof(Page), "scriptkey", "PcMensaje.Show();", true);
            return;
        }

        if (txttef.Text.Trim() == "")
        {
            lblmensaje.Text = "Ingrese telefono del cliente";
            ScriptManager.RegisterStartupScript(this, typeof(Page), "scriptkey", "PcMensaje.Show();", true);
            return;
        }
        if (txtcorreo.Text.Trim() == "")
        {
            lblmensaje.Text = "Ingrese correo del cliente";
            ScriptManager.RegisterStartupScript(this, typeof(Page), "scriptkey", "PcMensaje.Show();", true);
            return;
        }
        if (txtfuncionario.Text.Trim() == "")
        {
            lblmensaje.Text = "Ingrese nombre del funcionario";
            ScriptManager.RegisterStartupScript(this, typeof(Page), "scriptkey", "PcMensaje.Show();", true);
            return;
        }
        TB_Cliente cliente = new TB_Cliente();

        cliente.idcCliente = txtdni.Text;
        cliente.nomCliente = txtnomcli.Text.ToUpper();
        cliente.dirCliente = txtdireccion.Text.ToUpper();
        cliente.mailCliente = txtcorreo.Text.ToUpper();
        cliente.funcionarioCliente = txtfuncionario.Text.ToUpper();
        cliente.telefonoCliente = txttef.Text;

        if (txtuserreg.Text == String.Empty || txtnomcli.Text == String.Empty  || txtcorreo.Text == String.Empty ||  txtpwdreg.Text == String.Empty || txtconfpwd.Text == String.Empty)
        {

            lblmensaje.Text = "Ingresar datos de usuario";
            ScriptManager.RegisterStartupScript(this, typeof(Page), "scriptkey", "PcMensaje.Show();", true);
            return;
        }
        else
        {
            if (txtpwdreg.Text.Trim() != txtconfpwd.Text.Trim ())
            {

                lblmensaje.Text = "Password no coinciden";
                ScriptManager.RegisterStartupScript(this, typeof(Page), "scriptkey", "PcMensaje.Show();", true);
                txtpwdreg.Text = "";
                txtconfpwd.Text = "";
                return;
            }
            t_usuario usuario = new t_usuario();
            usuario.ID_USUARIO = txtuserreg.Text;
            usuario.DES_NOMBRE = txtnomcli.Text.ToUpper();
            //usuario.DES_APELLIDOS = "";
            usuario.DES_PASSWORD = clsSeguridad.Encrypt(this.txtpwdreg.Text);
            usuario.DES_EMAIL = txtcorreo .Text.ToUpper();
            usuario.COD_USUARIO_REP = txtdni.Text.Trim();
            usuario.IND_ESTADO = "A";

            if (negusuario.Insertar(usuario))
            {
                this.insertarUsuarioGrupo();
            }

        }

        if(negcliente.Insertar (cliente)){
            LimpiarCliente();
            lblmensaje.Text ="¡Cliente Registrado Correctamente!";
            ScriptManager.RegisterStartupScript(this, typeof(Page), "pkmensaje", "PcMensaje.Show();", true);
        }

        }

        void insertarUsuarioGrupo()
        {
            try
            {
                clsUsuarioBL negocioUsuario = new clsUsuarioBL();
                negocioUsuario.InsertarUsuarioGrupo(new t_usuario_grupo() { ID_USUARIO = txtuserreg.Text.Trim(), ID_GRUPO = 2 });
            }
            catch (Exception ex)
            {

            }
        }
        public void LimpiarCliente() {
             txtdni.Text="";
             txtnomcli.Text="";
             txtdireccion.Text="";
             txtcorreo.Text="";
             txtfuncionario.Text="";
             txttef.Text="";
             txtuserreg.Text = "";
             txtpwdreg.Text = "";
             txtconfpwd.Text = "";
        }

        protected void btncancelar_Click(object sender, EventArgs e)
        {
            Response.Redirect("~/Index.aspx");
        }
    }
}